// pages/qrcode/qrcode.js
Page({

  /**
   * 页面的初始数据
   */
  data: {

  },
 
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.generateQRCode('Your text here');
  },
  generateQRCode: function(text) {
    wx.request({
      url: 'http://localhost:8080/wechat/goods/download-qr-code', // 后端API的正确URL
      method: 'GET',
      data: {
        text: text
      },
      responseType: 'arraybuffer', // 设置响应类型为arraybuffer以处理二进制数据
      success: function(res) {
        if (res.statusCode === 200) {
          // 将二进制数据转换为Base64编码的字符串
          const base64 = wx.arrayBufferToBase64(res.data);
          // 创建一个Data URL，以便可以在<image>标签中使用
          const qrCodeUrl = `data:image/png;base64,${base64}`;
          this.setData({
            qrCodeUrl: qrCodeUrl // 更新页面数据
          });
        } else {
          console.error('Failed to generate QR code', res);
        }
      }.bind(this), // 使用bind(this)来保持this的上下文
      fail: function(err) {
        console.error('Request failed', err);
      }
    });
  },


  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})